package com.project.mapper;

import com.project.bean.RoomBean;
import com.project.mapper.provide.RoomProvide;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.ResultMap;
import org.apache.ibatis.annotations.SelectProvider;

import java.util.List;
import java.util.Map;

public interface IRoomMapper {
    /**
     * 查看所有房间
     * @return 房间集合，没有返回null
     * */
    public List<RoomBean> finAllRoom();

    /**
     * 根据房间的id修改房间的状态
     * */
    public void updateStatue(@Param("roomId") int roomId,
                             @Param("status") String status);

    /**
     * 动态条件查询房间，同时查询每个房间的已主人数
     * */
    @SelectProvider(type = RoomProvide.class,method = "findByItem")
    @ResultMap("roomMap")
    public List<RoomBean> findByItems(Map map);


    /**
     * 添加房间
     * @param room 房间对象
     * */
    public void addRoom(RoomBean room);
    /**
     * 删除房间
     * @param roomId 房间id
     * */
    public void de(Integer roomId);
    /**
     * 按id查看房间信息,同时统计已住人数
     * @param roomId 房间id
     * @return 房间对象
     * */
    public RoomBean findById(Integer roomId);

}
